From e559fe683afee80bbef6ca4da74fd3151066faf3 Mon Sep 17 00:00:00 2001 From: "awilliam@xenbuild.aw" Date: Wed, 5 Apr 2006 12:15:10 -0600 Subject: [PATCH] [IA64] fix gnttab_shared_gmfn() Signed-off-by: Isaku Yamahata --- xen/include/asm-ia64/grant_table.h | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/xen/include/asm-ia64/grant_table.h b/xen/include/asm-ia64/grant_table.h index 227f2e590b..2e95872ec4 100644 --- a/xen/include/asm-ia64/grant_table.h +++ b/xen/include/asm-ia64/grant_table.h @@ -17,12 +17,16 @@ /* Guest physical address of the grant table. */ #define IA64_GRANT_TABLE_PADDR (1UL << 40) -#define gnttab_shared_gmfn(d, t, i) \ - ( ((d) == dom0) ? \ - ((virt_to_maddr((t)->shared) >> PAGE_SHIFT) + (i)) : \ - (assign_domain_page((d), IA64_GRANT_TABLE_PADDR, \ - virt_to_maddr((t)->shared)), IA64_GRANT_TABLE_PADDR >> PAGE_SHIFT) \ - ) +#define gnttab_shared_maddr(d, t, i) \ + virt_to_maddr((char*)(t)->shared + ((i) << PAGE_SHIFT)) + +#define gnttab_shared_gmfn(d, t, i) \ + ({ ((d) == dom0) ? \ + (virt_to_maddr((t)->shared) >> PAGE_SHIFT) + (i): \ + assign_domain_page((d), \ + IA64_GRANT_TABLE_PADDR + ((i) << PAGE_SHIFT), \ + gnttab_shared_maddr(d, t, i)), \ + (IA64_GRANT_TABLE_PADDR >> PAGE_SHIFT) + (i);}) #define gnttab_log_dirty(d, f) ((void)0) -- 2.30.2